#if !GENERATOR

using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Xml.Serialization;
using System.Collections.Generic;

using YF.OneNote;


namespace YF.OneNote.DataTypes
{
  public partial class TagDef
  {
    public TagDef()
    {
      
	}

    
  
    protected override bool UpdateContents(NotesNode newContent, List<INotesChange> changes)
    {
	  TagDef item = (TagDef)newContent;
      bool changed = false;

      
      if (fontColor != item.fontColor)
      {
        changed = true;
		
		NotesPropertyChange propertyChange = new NotesPropertyChange();

        propertyChange.ChangeType = NoteChangeType.Changed;
        propertyChange.OldValue = fontColorField;
        propertyChange.NewValue = item.fontColorField;
        propertyChange.PropertyName = "fontColor";
        changes.Add(propertyChange);

		
        fontColorField = item.fontColorField;
      }

      if (highlightColor != item.highlightColor)
      {
        changed = true;
		
		NotesPropertyChange propertyChange = new NotesPropertyChange();

        propertyChange.ChangeType = NoteChangeType.Changed;
        propertyChange.OldValue = highlightColorField;
        propertyChange.NewValue = item.highlightColorField;
        propertyChange.PropertyName = "highlightColor";
        changes.Add(propertyChange);

		
        highlightColorField = item.highlightColorField;
      }

      if (index != item.index)
      {
        changed = true;
		
		NotesPropertyChange propertyChange = new NotesPropertyChange();

        propertyChange.ChangeType = NoteChangeType.Changed;
        propertyChange.OldValue = indexField;
        propertyChange.NewValue = item.indexField;
        propertyChange.PropertyName = "index";
        changes.Add(propertyChange);

		
        indexField = item.indexField;
      }

      if (name != item.name)
      {
        changed = true;
		
		NotesPropertyChange propertyChange = new NotesPropertyChange();

        propertyChange.ChangeType = NoteChangeType.Changed;
        propertyChange.OldValue = nameField;
        propertyChange.NewValue = item.nameField;
        propertyChange.PropertyName = "name";
        changes.Add(propertyChange);

		
        nameField = item.nameField;
      }

      if (symbol != item.symbol)
      {
        changed = true;
		
		NotesPropertyChange propertyChange = new NotesPropertyChange();

        propertyChange.ChangeType = NoteChangeType.Changed;
        propertyChange.OldValue = symbolField;
        propertyChange.NewValue = item.symbolField;
        propertyChange.PropertyName = "symbol";
        changes.Add(propertyChange);

		
        symbolField = item.symbolField;
      }

      if (type != item.type)
      {
        changed = true;
		
		NotesPropertyChange propertyChange = new NotesPropertyChange();

        propertyChange.ChangeType = NoteChangeType.Changed;
        propertyChange.OldValue = typeField;
        propertyChange.NewValue = item.typeField;
        propertyChange.PropertyName = "type";
        changes.Add(propertyChange);

		
        typeField = item.typeField;
      }


      return changed;
    }
  }
}

#endif